//package com.itzhouwei.commerce.service;
//
//import cn.dev33.satoken.secure.SaSecureUtil;
//import cn.dev33.satoken.stp.SaTokenInfo;
//import cn.dev33.satoken.stp.StpUtil;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.itzhouwei.commerce.dao.UserMapper;
//import com.itzhouwei.commerce.entity.UserInfoEntity;
//import com.itzhouwei.commerce.vo.LoginUserInfo;
//import com.itzhouwei.commerce.vo.UsernameAndPassword;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.util.Date;
//
///**
// * @description:
// * @author：zw，微信公共号：yingshengzw
// * @date: 2021/8/28
// * @Copyright：公众号：搬砖暗夜码农 | 博客：https://itzhouwei.com - 沉淀、学习、分享、成长，让自己和他人都能有所收获！
// */
//@Slf4j
//@Service
//public class UserInfoServerImpl  extends ServiceImpl<UserMapper, UserInfoEntity> implements UserInfoServer
//{
//
//    @Resource
//    private UserMapper userMapper;
//
//    @Override
//    public SaTokenInfo generateToken(String username, String password) {
//        UserInfoEntity userInfoEntity = new UserInfoEntity();
//        // sha256加密
//        String password2 = SaSecureUtil.sha256(password);
//        userInfoEntity.setPassword(password2);
//        userInfoEntity.setUsername(username);
//        LambdaQueryWrapper<UserInfoEntity> queryWrapper = new LambdaQueryWrapper<>();
//        queryWrapper.eq(UserInfoEntity::getPassword,password2).eq(UserInfoEntity::getUsername,username);
//        UserInfoEntity vo = super.getOne(queryWrapper);
//        if (null==vo){
//            log.error("find user:[{}],[{}]",username,password);
//            return null;
//        }
//        LoginUserInfo userInfo=new LoginUserInfo(vo.getId(),vo.getUsername());
//        //此处使用sa_token 你们可以另外换成jwt_token
//        //登录
//        StpUtil.login(userInfo.getId(),vo.getUsername());
//        //拿去token
//        SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
//
//        return tokenInfo;
//    }
//
//    @Override
//    public SaTokenInfo registerUserAndGenerateToken(UsernameAndPassword usernameAndPassword) {
//
//        // sha256加密
//        String password = SaSecureUtil.sha256(usernameAndPassword.getPassword());
//        UserInfoEntity userInfoEntity = new UserInfoEntity();
//        userInfoEntity.setPassword(password);
//        userInfoEntity.setUsername(usernameAndPassword.getUsername());
//        userInfoEntity.setCreateTime(new Date());
//        userInfoEntity.setUpdateTime(new Date());
//        //TODO 在这个地方可以先判断数据库里面是否以及存在如果已经存在则直接给token 无需在注册 或者是报错 该地方没有做
//        boolean insert = super.save(userInfoEntity);
//
//        if (insert){
//            //此处使用sa_token 你们可以另外换成jwt_token
//            //登录
//            StpUtil.login(userInfoEntity.getId(),userInfoEntity.getUsername());
//            //拿去token
//            SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
//            return tokenInfo;
//        }
//        return null;
//    }
//}
